Skip to main content

Explanation

What IEMS is

IEMS solves fleet-scale edge AI operations. Without a control plane, deploying models to many field devices requires manual SSH access, file copies, and per-device Docker commands — slow, error-prone, and hard to audit.

IEMS replaces that with:

  • A central dashboard (FastAPI + server-rendered HTML)
  • A device agent on each edge node that executes commands
  • MQTT for outbound commands (deploy, stop, restart, delete)
  • HTTPS for inbound heartbeats and acknowledgements
  • PostgreSQL (production) or SQLite (local dev) as the source of truth

Architecture

 Browser / TapisUI iframe
│ HTTPS (Tapis OAuth or portal SSO)

┌──────────────────────────┐ ┌─────────────┐
│ Edge Control Plane │◄─────►│ PostgreSQL │
│ (FastAPI, port 8765) │ └─────────────┘
└──────────────────────────┘
│ MQTT commands

┌──────────────────────────┐
│ Edge devices + agents │
│ (Docker model containers)│
└──────────────────────────┘

Key concepts

TermMeaning
Model cardA deployable AI model plus its container spec (image, env, mounts, compatible device generations)
DeploymentOne model card sent to a target (device, group, or generation)
Device agentOn-device program that runs containers and reports heartbeats
HeartbeatPeriodic device health message (CPU, memory, temperature, running containers)

Integrations

  • Tapis — OAuth login, Pods hosting, tenant identity
  • Patra — model card and artifact provenance (PATRA_BASE_URL)
  • MQTT broker — command delivery to devices
  • MediaMTX / relay streaming — live camera preview and inference streams (see deploy/STREAMING.md)
  • ICICLE TapisUI extension — embeds the control plane in the ICICLE portal sidebar

Repository layout

intelligent-edge-management-service/
├── README.md # This file (ICICLE catalog + Diátaxis docs)
├── component-info.yaml # ICICLE component catalog metadata
├── RELEASE.md # Release notes
└── edge_fleet_control_plane/ # Main application
├── app/ # FastAPI app, routes, services, agent package
├── config/ # Seed data (models, device generations)
├── deploy/ # Pod specs, env templates, deployment guides
├── smart_docker_apps/ # Example edge inference containers
├── Dockerfile
└── requirements.txt

For a longer-form briefing, read edge_fleet_control_plane/deploy/SYSTEM_OVERVIEW.md.